#ifndef DSPSIMULATOR_WATCHMEMORY_H
#define DSPSIMULATOR_WATCHMEMORY_H

#include <vector>
#include <simulator/type/type.h>
#include <simulator/command/command.h>

class WatchMemoryCommand : public Command {
private:
    std::string readMemDataAndToString(u32 address, u32 byteNum);

public:
    explicit WatchMemoryCommand(Simulator *dspSimulator) :
            Command(dspSimulator) {}

    ~WatchMemoryCommand() override = default;

    void execute(std::string command) override;

    static std::shared_ptr<WatchMemoryCommand> get(Simulator *dspSimulator);
};

#endif //DSPSIMULATOR_WATCHMEMORY_H
